#ifndef TYPES_API_STREAM_H
#define TYPES_API_STREAM_H

//General Function of Stream
#include <structure.h>
#include "Types.h"
#include "Types_Api.h"

#define u32  unsigned int
#define u16  unsigned short
#define u8   unsigned char

#define _JOIN_(x,y)  __JOIN__(x,y)
#define __JOIN__(x,y) x##y
/*
#define __FUNCPACKAGING__(_func)					\
  template<class X> class _JOIN_(packaging,_func){public:const static unsigned long func = ((unsigned long)(_func <X>));}; \
  int* _JOIN_(_JTBL_,_func)[_JOIN_(_support_num_,_func)];
*/

template<class _strType>
_strType WriteStream(_strType stream, u8* input,_length num, _length offset)   
{
  WriteStream(stream,input,num,offset);
}


//#define _support_num_WriteStream  -- Become a const static int  

DECLARE__MTypeFunc__(WriteStream,_TYPE_STREAM_FROM,_TYPE_STREAM_TO);
__FUNCPACKAGING__(WriteStream);


#endif
